#ifndef PAGE3_H
#define PAGE3_H

#include <QWidget>
#include<QTableView>
#include<QSqlQueryModel>

namespace Ui {
class Page3;
}

class Page3 : public QWidget
{
    Q_OBJECT

public:
    explicit Page3(QWidget *parent = nullptr);
    explicit Page3(int role,QWidget *parent=nullptr);
    ~Page3();

private slots:
    void classifySortByColumn(int);
    void classifySortByColumn1(int);

    void on_pushButton_3_clicked();

    void slot_createQRcode();
    void slot_createQRcode1();
    void slot_copyData();
    void slot_copyData1();
    void slot_copyData2();

    void slotContextMenu(QPoint);
    void slotContextMenu1(QPoint);
    void slotContextMenu2(QPoint);

    void slot_userChange();
    void slot_checkChange();
//    void slot_checkItemAdd();
    void slot_checkItemChange();
    void slot_checkHistoryQuery();
    void slot_repairHistoryQuery();
    void slot_checkHistoryQuery2();

    void on_modifyButton_clicked();

    void on_pushButton_2_clicked();

    void on_pushButton_clicked();

    void on_twoModelCombox_currentIndexChanged(int index);

    void on_useModel_currentIndexChanged(int index);

    void on_tabWidget_currentChanged(int index);

    void on_pushButton_4_clicked();

    void on_pushButton_5_clicked();

    void on_pushButton_6_clicked();

    void on_pushButton_7_clicked();

    void on_checkCall_clicked();

    void on_checkRefresh_clicked();

private:
    Ui::Page3 *ui;

    enum{
      ADMIN=0b1000,
      MANAGER=0b0100,
      GROUPER=0b0010,
      WORDER=0b0001
    };

    void initUserRecordRead();
    void initOnlineRead();
    void initRead();
    void initRead1();
    void initUserRecordWrite();
    void initOnlineWrite();
    void initWrite();
    void initWrite1();
    void initPopMenu();
    void initPopMenu1();
    void initPopMenu2();

    void initTableWidget();
    QList<QStringList> tableData;

    QMenu *popMenu;
    QMenu *popMenu1;
    QMenu *popMenu2;
    int selectCurrentRow;
    int selectCurrentColumn;
    int selectCurrentRow1;
    int selectCurrentColumn1;
    int selectCurrentRow2;
    int selectCurrentColumn2;
};

#endif // PAGE3_H
